/**
 * 工具类
 */
export class Util {

  /**
   * 格式化时间
   * 调用formatDate(strDate, 'yyyy-MM-dd HH:MM:ss');
   * @param strDate（中国标准时间、时间戳等）
   * @param strFormat（返回格式）
   */
  formatDate(strDate: any, strFormat?: any) {
    if (!strDate) { return; }
    if (!strFormat) { strFormat = 'yyyy-MM-dd'; }
    switch (typeof strDate) {
      case 'string':
        strDate = new Date(strDate.replace(/-/, '/'));
        break;
      case 'number':
        strDate = new Date(strDate);
        break;
    }
    if (strDate instanceof Date) {
      const dict: any = {
        yyyy: strDate.getFullYear(),
        M: strDate.getMonth() + 1,
        d: strDate.getDate(),
        H: strDate.getHours(),
        m: strDate.getMinutes(),
        s: strDate.getSeconds(),
        MM: ('' + (strDate.getMonth() + 101)).substring(1),
        dd: ('' + (strDate.getDate() + 100)).substring(1),
        HH: ('' + (strDate.getHours() + 100)).substring(1),
        mm: ('' + (strDate.getMinutes() + 100)).substring(1),
        ss: ('' + (strDate.getSeconds() + 100)).substring(1),
      };
      return strFormat.replace(/(yyyy|MM?|dd?|HH?|mm?|ss?)/g, function () {
        return dict[arguments[0]];
      });
    }
  }


  /**
   * 截取字符串
   * subStrs(str,0,20);
   * @param str（字符串）
   * @param start（截取开始）
   * @param end （截取结束）
   */
  subStrs(str: string, start = 0, end = 20) {
    if (length === null || length === undefined)
      return
    if (str.length > end) {
      return str.substring(start, end) + ' ...'
    } else {
      return str.substring(start, end)
    }
  }

  /**
     * 获取字符串中所有图片
     * subStrs(str);
     * @param str（字符串）
     */

  getStringImages(str: string) {
    var images = []
    //匹配图片（g表示匹配所有结果i表示区分大小写）
    var imgReg = /<img.*?(?:>|\/>)/gi;
    //匹配src属性
    var srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i;
    var arr = str.match(imgReg);
    if (arr != undefined && arr != null) {
      //console.log('所有已成功匹配图片的数组：' + arr);
      for (var i = 0; i < arr.length; i++) {
        var src = arr[i].match(srcReg);
        if (src != undefined && src != null) {
          //获取图片地址
          if (src[1]) {
            //console.log('已匹配的图片地址' + (i + 1) + '：' + src[1]);
            images.push(src[1])
          }
        } else {
          return null
        }
      }
      console.log('所有图片：' + images);
      return images
    } else {
      return null
    }

  }

}


export default new Util()